/**
 * 分页列表组件
 * @property {boolean} bottomTip 是否显示底部提示文案
 * @property {Object} listOptions 列表配置项
 *                    loading: false, // 加载状态
 *                    nowTotal: 0, // 当前显示条数
 *                    pageNo: 1, // 当前页，本地记录页数
 *                    pageSize: 20, // 页面条数
 * @property {string} loading 加载状态key名
 * @property {string} nowTotal 当前显示条数key名
 * @property {string} pageNo 当前页key名
 * @property {string} pageSize 页面条数key名
 * @slot default 列表内容 插槽
 * @slot loading 加载中 插槽
 * @slot empty 空列表 插槽
 * @slot showMore 加载更多 插槽
 * @slot noMore 没有更多 插槽
 * @emits reach-bottom 下拉到底部触发的事件
 */
!function () {
  Vue.component('sec-article', {
    template: `
		<div ref="article" class="section_article">
      <div class="article_header">
        <div class="header_title">
          <h1 class="title_content">GSRC安全测试及漏洞提交规范</h1>
          <p class="title_info">公告编号：<span class="info_id">安全公告</span>作者：<span class="info_id">GSRC</span>发布日期：<span class="info_date">2024/09/12</span></p>
        </div>
      </div>
      <div class="article_body">
        <p><strong><span style="font-size:19px">安全测试规范：</span></strong></p>
        <p>
          <strong class="strong-section">参与此标准制定的组织：</strong>
          <br>
          腾讯SRC、蚂蚁金服SRC、ASRC、阿里云先知、百度SRC、本地生活SRC、菜鸟SRC、滴滴SRC、京东SRC、LYSRC、蘑菇街SRC、陌陌SRC、360SRC、苏宁SRC、同舟共测-企业安全响应联盟、唯品会SRC、微博SRC、VIPKIDSRC、网易SRC、WiFi万能钥匙SRC、完美世界SRC、58SRC、小米SRC（排名不分先后）
          <br><br>
          <strong class="strong-section">感谢以下白帽子对此规范提供的建议和认可：</strong>
          <br>
          hackbar、SToNe、无心、、mmmark、ayound、算命先生、泳少、离兮、lakes、Adam、羽_、小笼包（随机排名，不分先后）
          <br><br><br>
        </p>
        <h1 class="h1-section">
          <strong
            class="strong-section">一、测试规范:&nbsp;</strong>
        </h1>
        <p class="p-section"><br></p>
        <p><span class="span-section">1. 注入漏洞，只要证明可以读取数据就行，严禁读取表内数据。对于UPDATE、DELETE、INSERT 等注入类型，不允许使用自动化工具进行测试。</span><br><br>
        </p>
        <p class="p-section"><br></p>
        <p class="p-section">
          2.&nbsp;越权漏洞，越权读取的时候，能读取到的真实数据不超过5组，严禁进行批量读取。<br><br></p>
        <p class="p-section">
          3.&nbsp;帐号可注册的情况下，只允许用自己的2个帐号验证漏洞效果，不要涉及线上正常用户的帐号，越权增删改，请使用自己测试帐号进行。<br>帐号不可注册的情况下，如果获取到该系统的账密并验证成功，如需进一步安全测试，请咨询管理员得到同意后进行测试。<br><br>
        </p>
        <p class="p-section">
          4.&nbsp;存储xss漏洞，正确的方法是插入不影响他人的测试payload，严禁弹窗，推荐使用console.log，再通过自己的另一个帐号进行验证，提供截图证明。对于盲打类xss，仅允许外带domain信息。所有xss测试，测试之后需删除插入数据，如不能删除，请在漏洞报告中备注插入点。<br><br>
        </p>
        <p class="p-section">
          5.&nbsp;如果可以shell或者命令执行的，推荐上传一个文本证明，如纯文本的1.php、1.jsp等证明问题存在即可，禁止下载和读取服务器上任何源代码文件和敏感文件，不要执行删除、写入命令，如果是上传的webshell，请写明shell文件地址和连接口令。<br><br>
        </p>
        <p class="p-section">
          6.&nbsp;在测试未限制发送短信或邮件次数等扫号类漏洞，测试成功的数量不超过50个。如果用户可以感知，例如会给用户发送登陆提醒短信，则不允许对他人真实手机号进行测试。<br><br>
        </p>
        <p class="p-section">
          7.&nbsp;如需要进行具有自动传播和扩散能力漏洞的测试（如社交蠕虫的测试），只允许使用和其他账号隔离的小号进行测试。不要使用有社交关系的账号，防止蠕虫扩散。<br><br>
        </p>
        <p class="p-section">
          8.&nbsp;禁止对网站后台和部分私密项目使用扫描器。<br><br></p>
        <p class="p-section">
          9.&nbsp;除特别获准的情况下，严禁与漏洞无关的社工，严禁进行内网渗透。<br><br></p>
        <p class="p-section">
          10.&nbsp;禁止进行可能引起业务异常运行的测试，例如：IIS的拒绝服务等可导致拒绝服务的漏洞测试以及DDOS攻击。<br><br></p>
        <p class="p-section">
          11.&nbsp;请不要对未授权厂商、未分配给自己的项目、超出测试范围的列表进行漏洞挖掘，可与管理员联系确认是否属于资产范围后进行挖掘，否则未授权的法律风险将由漏洞挖掘者自己承担。<br><br>
        </p>
        <p class="p-section">
          12.&nbsp;禁止拖库、随意大量增删改他人信息，禁止可对服务稳定性造成影响的扫描、使用将漏洞进行黑灰产行为等恶意行为。<br><br>
        </p>
        <p class="p-section">
          13.&nbsp;敏感信息的泄漏会对用户、厂商及上报者都产生较大风险，禁止保存和传播和业务相关的敏感数据，包括但不限于业务服务器以及Github
          等平台泄露的源代码、运营数据、用户资料等，若存在不知情的下载行为，需及时说明和删除。<br><br></p>
        <p class="p-section">
          14、尊重《中华人民共和国网络安全法》的相关规定。禁止一切以漏洞测试为借口，利用安全漏洞进行破坏、损害用户利益的行为，包括但不限于威胁、恐吓SRC要公开漏洞或数据，请不要在任何情况下泄露漏洞测试过程中所获知的任何信息，漏洞信息对第三方披露请先联系SRC获得授权。企业将对违法违规者保留采取进一步法律行动的权利。</p>
        <p><br></p>
        <p><strong><span style="font-size:19px">漏洞提交规范：</span></strong></p>
        <p>说明：</p>
        <p>1.&nbsp;本规范用于规范白帽子提交漏洞的格式要求；</p>
        <p>2.&nbsp;提交漏洞需要按本规范要求填写，您提交漏洞报告的规范性可能会影响最终评分，漏洞证明清晰的适当加分，反之减分。</p>
        <p><br></p>
        <p>一、漏洞名称</p>
        <p>1.&nbsp;漏洞名称应明确说明漏洞所在业务、漏洞类型等信息，避免使用【XX某接口】、【XX某业务】、【XX某站】、【XX】等泛指的词；</p>
        <p>2.&nbsp;若不确定漏洞所属的业务是什么，请使用域名或IP等代替；</p>
        <p>3.&nbsp;漏洞标题中不需要写影响的内容、影响的范围等。如避免使用标题【XXX漏洞泄露用户X条敏感信息（含姓名、电话、卡号）】等，此类信息请在漏洞详情中写明；&nbsp;</p>
        <p>举例：</p>
        <p>《XX首页搜索功能反射型XSS漏洞》</p>
        <p>《xxx.xxx.com&nbsp;springboot接口泄露用户敏感信息》</p>
        <p>《XXxx平台地址簿存越权查看漏洞》</p>
        <p><br></p>
        <p>二、漏洞类型</p>
        <p>1.&nbsp;漏洞类型请按真实漏洞类型选择，如果一个漏洞由若干漏洞组合利用的，请选择其中最主要问题的漏洞类型；</p>
        <p>2.&nbsp;对于漏洞类型确实不明确的，请先确定漏洞大类，再选择相应小类里的「其他」；</p>
        <p><br></p>
        <p>三、漏洞等级</p>
        <p>
          漏洞等级会直接影响漏洞影响强度，虚标高漏洞等级会消耗大量人力物力资源响应漏洞，请严格按漏洞危害选择相应漏洞等级。</p>
        <p><br></p>
        <p>四、漏洞URL</p>
        <p>
          Web类漏洞需要提供漏洞URL，漏洞URL应当为漏洞最关键部分的URL，如存储XSS的输入或输出点页面URL、SQL注入点的URL、POST型反射XSS的目标URL等。URL需要是完整的链接，不能仅写主域名。</p>
        <p>举例：</p>
        <p>反射型XSS：https://www.xxx.com/external/api/?alice=</p>
        <p>GET型平行越权：https://www.xxx.com/update//include/checksession.php?id=13577</p>
        <p><br></p>
        <p>五、漏洞详情</p>
        <p>原则：</p>
        <p>1.&nbsp;尽可能提供足够的信息，如无特殊必要情况，所有信息能直接提供在漏洞详情的请直接在漏洞详情填写，请勿仅提供简单描述+文档/视频等方式提交漏洞详情；</p>
        <p>2.&nbsp;准确、客观的描述漏洞的来源，漏洞出现的位置、测试步骤、PoC/EXP、影响大小等，并提供关键步骤的截图、利用成功的截图、视频等（视频等信息仅做为漏洞详情的补充说明，不能只提供视频）；</p>
        <p>3、测试步骤和POC必须填写完整，漏洞利用点：客户端漏洞需要提供准确的漏洞代码位置，包括包名、类名、关键部位代码问题说明。如果是非代码类的，业务操作相关的漏洞，需要明确说明功能入口；</p>
        <p>4.&nbsp;客户端漏洞需要提供存在问题的客户端、版本号，特殊渠道下载的包请说明下载来源；</p>
        <p>5.&nbsp;接口类URL上的漏洞请同时提供调用此接口的业务页面URL；需要前置步骤或前置权限的，请一并说明，如有Referer校验的URL需要提供前置的测试步骤；</p>
        <p>6.&nbsp;非常见的漏洞类型请额外提供漏洞原理、成因、修复方案等，并附上参考资料链接；常见的漏洞无需提供漏洞上述信息。</p>
        <p>7.&nbsp;漏洞关键步骤为HTTP&nbsp;POST的，请在漏洞详情正文最后提供完成的POST包，如SQL注入、越权等漏洞。HTTP头中的Cookie字段的值可置空，但需要留有Cookie字段名。若为文件上传类等漏洞，请把包中文件内容字段置空以减少内容大小；</p>
        <p>部分漏洞详情额外要求说明：</p>
        <p>1.&nbsp;POST型CSRF等：请提供PoC、漏洞所在页面URL；</p>
        <p>2.&nbsp;存储型XSS：请提供输入点所在页面URL、输入点字段名、Payload、输出点URL、输出点具体位置的截图说明，如果触发路径较长，需同时提供触发方式；</p>
        <p>3.&nbsp;SQL注入漏洞：请提供注入点URL所在页面URL（如果有）、注入点URL、注入成功后的截图；</p>
        <p>4.&nbsp;有账号认证的应用需提供漏洞测试时所使用的账号名信息。</p>
        <p><br></p>
        <p>六、结语</p>
        <p>漏洞报告的完整性规范性对漏洞的价值体现有着重要的影响，漏洞内容清晰、完整、规范有助于工作人员快速定位、验证和修复漏洞。感谢各位白帽子的理解与支持！</p>
      </div>

      <div class="article_footer">
        <div class="mod-share-normal">
          <div class="share_links">

          </div>
          <div class="share_copyright">版权所有，转载请注明出处!</div>
        </div>
      </div>
    </div>
	`,
    emits: ['reach-bottom'],
    props: {},
    data () {
      return {};
    },
    watch: {},
    mounted () {},
    methods: {
      onScroll: debounce(function() {
        const element = this.$refs.article;
        const scrollHeight = element.scrollHeight; // 内容高度
        const clientHeight = element.clientHeight; // 显示高度
        const scrollTop = element.scrollTop; // 当前滚动条距离顶部高度

        let flag = scrollHeight - scrollTop <= clientHeight + 10;
        if (flag) {
          this.listenReachBottom();
        }
      }),
      /**
       * 监听下拉到底部
       */
      listenReachBottom() {
        this.handleReachBottom();
      },
      /**
       * 下拉到底部触发事件
       */
      handleReachBottom() {
        this.$emit('reach-bottom');
      },
    }
  });

  function debounce(func, wait = 500) {
    let timeout, result;

    return function () {
      const context = this;
      const args = arguments;

      if (timeout) clearTimeout(timeout);
      // 防抖，延迟执行
      timeout = setTimeout(function () {
        func.apply(context, args);
      }, wait);
    };
  }
}();
